package com.ruoyi.huanghefd.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

/**
 * 检修设备试运行、恢复运行申请单
 * @TableName applysheet_dev
 */
@TableName(value ="applysheet_dev")
@Data
public class ApplysheetDev implements Serializable {
    /**
     * ID
     */
    private String apId;

    /**
     * 申请单编号
     */
    private String apCode;

    /**
     * 申请单类型，0-检修设备试运行，1-检修设备恢复运行
     */
    private String apType;

    /**
     * 申请单状态；待商定
     */
    private Integer apState;

    /**
     * 单位
     */
    private String apOrgid;

    /**
     * 单位
     */
    private String apOrg;

    /**
     * 工作部门、班组
     */
    private String apDeptid;

    /**
     * 工作部门、班组
     */
    private String apDept;

    /**
     * 工作地点
     */
    private String workPlace;

    /**
     * 工作内容
     */
    private String workContxt;

    /**
     * 工作负责人ID
     */
    private String apPrincipalid;

    /**
     * 工作负责人
     */
    private String apPrincipal;

    /**
     * 热控工作票编号
     */
    private String rkWsCode;

    /**
     * 热控工作负责人
     */
    private String rkPrincipalid;

    /**
     * 热控工作负责人
     */
    private String rkPrincipal;

    /**
     * 电气工作票编号
     */
    private String dqWsCode;

    /**
     * 电气工作负责人
     */
    private String dqPrincipalid;

    /**
     * 电气工作负责人
     */
    private String dqPrincipal;

    /**
     * 机械工作票编号
     */
    private String jxWsCode;

    /**
     * 机械工作负责人
     */
    private String jxPrincipalid;

    /**
     * 机械工作负责人
     */
    private String jxPrincipal;

    /**
     * 其他工作票编号
     */
    private String qtWsCode;

    /**
     * 其他工作负责人
     */
    private String qtPrincipalid;

    /**
     * 其他工作负责人
     */
    private String qtPrincipal;

    /**
     * 工作负责人签名1
     */
    private String principalSign;

    /**
     * 工作许可人签名
     */
    private String licensorSign;

    /**
     * 工作负责人签名2
     */
    private String principalSign1;
    /**
     * 签名时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date signDate;

    /**
     * 检修设备试运行、恢复运行明细表
     */
    private List<ApplysheetDev1> dev1;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        ApplysheetDev other = (ApplysheetDev) that;
        return (this.getApId() == null ? other.getApId() == null : this.getApId().equals(other.getApId()))
            && (this.getApCode() == null ? other.getApCode() == null : this.getApCode().equals(other.getApCode()))
            && (this.getApType() == null ? other.getApType() == null : this.getApType().equals(other.getApType()))
            && (this.getApState() == null ? other.getApState() == null : this.getApState().equals(other.getApState()))
            && (this.getApOrgid() == null ? other.getApOrgid() == null : this.getApOrgid().equals(other.getApOrgid()))
            && (this.getApOrg() == null ? other.getApOrg() == null : this.getApOrg().equals(other.getApOrg()))
            && (this.getApDeptid() == null ? other.getApDeptid() == null : this.getApDeptid().equals(other.getApDeptid()))
            && (this.getApDept() == null ? other.getApDept() == null : this.getApDept().equals(other.getApDept()))
            && (this.getWorkPlace() == null ? other.getWorkPlace() == null : this.getWorkPlace().equals(other.getWorkPlace()))
            && (this.getWorkContxt() == null ? other.getWorkContxt() == null : this.getWorkContxt().equals(other.getWorkContxt()))
            && (this.getApPrincipalid() == null ? other.getApPrincipalid() == null : this.getApPrincipalid().equals(other.getApPrincipalid()))
            && (this.getApPrincipal() == null ? other.getApPrincipal() == null : this.getApPrincipal().equals(other.getApPrincipal()))
            && (this.getRkWsCode() == null ? other.getRkWsCode() == null : this.getRkWsCode().equals(other.getRkWsCode()))
            && (this.getRkPrincipalid() == null ? other.getRkPrincipalid() == null : this.getRkPrincipalid().equals(other.getRkPrincipalid()))
            && (this.getRkPrincipal() == null ? other.getRkPrincipal() == null : this.getRkPrincipal().equals(other.getRkPrincipal()))
            && (this.getDqWsCode() == null ? other.getDqWsCode() == null : this.getDqWsCode().equals(other.getDqWsCode()))
            && (this.getDqPrincipalid() == null ? other.getDqPrincipalid() == null : this.getDqPrincipalid().equals(other.getDqPrincipalid()))
            && (this.getDqPrincipal() == null ? other.getDqPrincipal() == null : this.getDqPrincipal().equals(other.getDqPrincipal()))
            && (this.getJxWsCode() == null ? other.getJxWsCode() == null : this.getJxWsCode().equals(other.getJxWsCode()))
            && (this.getJxPrincipalid() == null ? other.getJxPrincipalid() == null : this.getJxPrincipalid().equals(other.getJxPrincipalid()))
            && (this.getJxPrincipal() == null ? other.getJxPrincipal() == null : this.getJxPrincipal().equals(other.getJxPrincipal()))
            && (this.getQtWsCode() == null ? other.getQtWsCode() == null : this.getQtWsCode().equals(other.getQtWsCode()))
            && (this.getQtPrincipalid() == null ? other.getQtPrincipalid() == null : this.getQtPrincipalid().equals(other.getQtPrincipalid()))
            && (this.getQtPrincipal() == null ? other.getQtPrincipal() == null : this.getQtPrincipal().equals(other.getQtPrincipal()))
            && (this.getPrincipalSign() == null ? other.getPrincipalSign() == null : this.getPrincipalSign().equals(other.getPrincipalSign()))
            && (this.getLicensorSign() == null ? other.getLicensorSign() == null : this.getLicensorSign().equals(other.getLicensorSign()))
            && (this.getPrincipalSign1() == null ? other.getPrincipalSign1() == null : this.getPrincipalSign1().equals(other.getPrincipalSign1()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getApId() == null) ? 0 : getApId().hashCode());
        result = prime * result + ((getApCode() == null) ? 0 : getApCode().hashCode());
        result = prime * result + ((getApType() == null) ? 0 : getApType().hashCode());
        result = prime * result + ((getApState() == null) ? 0 : getApState().hashCode());
        result = prime * result + ((getApOrgid() == null) ? 0 : getApOrgid().hashCode());
        result = prime * result + ((getApOrg() == null) ? 0 : getApOrg().hashCode());
        result = prime * result + ((getApDeptid() == null) ? 0 : getApDeptid().hashCode());
        result = prime * result + ((getApDept() == null) ? 0 : getApDept().hashCode());
        result = prime * result + ((getWorkPlace() == null) ? 0 : getWorkPlace().hashCode());
        result = prime * result + ((getWorkContxt() == null) ? 0 : getWorkContxt().hashCode());
        result = prime * result + ((getApPrincipalid() == null) ? 0 : getApPrincipalid().hashCode());
        result = prime * result + ((getApPrincipal() == null) ? 0 : getApPrincipal().hashCode());
        result = prime * result + ((getRkWsCode() == null) ? 0 : getRkWsCode().hashCode());
        result = prime * result + ((getRkPrincipalid() == null) ? 0 : getRkPrincipalid().hashCode());
        result = prime * result + ((getRkPrincipal() == null) ? 0 : getRkPrincipal().hashCode());
        result = prime * result + ((getDqWsCode() == null) ? 0 : getDqWsCode().hashCode());
        result = prime * result + ((getDqPrincipalid() == null) ? 0 : getDqPrincipalid().hashCode());
        result = prime * result + ((getDqPrincipal() == null) ? 0 : getDqPrincipal().hashCode());
        result = prime * result + ((getJxWsCode() == null) ? 0 : getJxWsCode().hashCode());
        result = prime * result + ((getJxPrincipalid() == null) ? 0 : getJxPrincipalid().hashCode());
        result = prime * result + ((getJxPrincipal() == null) ? 0 : getJxPrincipal().hashCode());
        result = prime * result + ((getQtWsCode() == null) ? 0 : getQtWsCode().hashCode());
        result = prime * result + ((getQtPrincipalid() == null) ? 0 : getQtPrincipalid().hashCode());
        result = prime * result + ((getQtPrincipal() == null) ? 0 : getQtPrincipal().hashCode());
        result = prime * result + ((getPrincipalSign() == null) ? 0 : getPrincipalSign().hashCode());
        result = prime * result + ((getLicensorSign() == null) ? 0 : getLicensorSign().hashCode());
        result = prime * result + ((getPrincipalSign1() == null) ? 0 : getPrincipalSign1().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", apId=").append(apId);
        sb.append(", apCode=").append(apCode);
        sb.append(", apType=").append(apType);
        sb.append(", apState=").append(apState);
        sb.append(", apOrgid=").append(apOrgid);
        sb.append(", apOrg=").append(apOrg);
        sb.append(", apDeptid=").append(apDeptid);
        sb.append(", apDept=").append(apDept);
        sb.append(", workPlace=").append(workPlace);
        sb.append(", workContxt=").append(workContxt);
        sb.append(", apPrincipalid=").append(apPrincipalid);
        sb.append(", apPrincipal=").append(apPrincipal);
        sb.append(", rkWsCode=").append(rkWsCode);
        sb.append(", rkPrincipalid=").append(rkPrincipalid);
        sb.append(", rkPrincipal=").append(rkPrincipal);
        sb.append(", dqWsCode=").append(dqWsCode);
        sb.append(", dqPrincipalid=").append(dqPrincipalid);
        sb.append(", dqPrincipal=").append(dqPrincipal);
        sb.append(", jxWsCode=").append(jxWsCode);
        sb.append(", jxPrincipalid=").append(jxPrincipalid);
        sb.append(", jxPrincipal=").append(jxPrincipal);
        sb.append(", qtWsCode=").append(qtWsCode);
        sb.append(", qtPrincipalid=").append(qtPrincipalid);
        sb.append(", qtPrincipal=").append(qtPrincipal);
        sb.append(", principalSign=").append(principalSign);
        sb.append(", licensorSign=").append(licensorSign);
        sb.append(", principalSign1=").append(principalSign1);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}